package com.gopay.remote.bank.cbrmb;

import com.gopay.common.domain.bank.ccb.cbrmb.req.CbRmbNotificationMsg;
import com.gopay.common.domain.bank.ccb.cbrmb.req.CbRmbQueryReqMsg;
import com.gopay.common.domain.bank.ccb.cbrmb.res.CbRmbQueryRespMsg;
import com.gopay.common.domain.bank.ccb.cbrmb.res.CbRmbResponseMsg;
import com.gopay.common.exception.GopayException;

/**
 * 
 * @ClassName: CbRmbBankService
 * @Description: 跨境人民币 银行接口
 * @author gd.cui
 * @date 2016年6月30日 下午5:35:23 ww.gopay.com.cn Inc.All rights reserved.
 */
public interface CbRmbCcbBankRemoteService {
	/**
	 * 
	 * @Description: 消息通知
	 * @param msg
	 * @return
	 * @author gd.cui
	 */
	public CbRmbResponseMsg submit(CbRmbNotificationMsg msg) throws GopayException;

	/**
	 * 回盘信息 通知 bis
	 * @param msg
	 * @return
	 * @throws GopayException
	 */
	public String callBIS(CbRmbNotificationMsg msg,CbRmbResponseMsg responseMsg) throws GopayException;
    
    /**
     * 根据国付宝订单号查询cbrmb ccb 划汇结果
     * 
     * @Description:  
     * @return
     * @throws GopayException 
     * @author gd.cui
     */
	public String findCbRmbCcbResultByGopayOrderId(String goapayOrderId) throws GopayException;
	
	/**
	 * 查询cbrmb ccb 划汇结果
	 * 
	 * @Description:  
	 * @param reqMsg
	 * @return
	 * @throws GopayException 
	 * @author gd.cui
	 */
	public CbRmbQueryRespMsg findCbRmbCcbResult(CbRmbQueryReqMsg reqMsg) throws GopayException;
}
